package com.Lemon.Zhkuhealh.api.service; // 根据您的实际包名调整

import com.Lemon.Zhkuhealth.common.pojo.vo.OrderTypeCountVO; // 修改为VO
import com.Lemon.Zhkuhealth.common.pojo.vo.OrderStatusCountVO; // 修改为VO
import com.Lemon.Zhkuhealth.common.pojo.entity.Reserve;
import com.Lemon.Zhkuhealth.common.pojo.vo.ReserveVo;
import com.Lemon.Zhkuhealth.common.util.PageResult;
import com.Lemon.Zhkuhealth.common.util.QueryPageBean;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface IReserveService extends IService<Reserve> {
    /**
     * 分页查询预约列表，包含会员姓名
     * @param queryPageBean 查询条件
     * @return 分页结果（ReserveVo 列表）
     */
    PageResult<ReserveVo> findPage(QueryPageBean queryPageBean);

    /**
     * 根据ID删除预约信息
     * @param id 预约ID
     */
    void deleteById(Integer id);

    /**
     * 新增预约
     * @param reserve 预约实体
     */
    void add(Reserve reserve);

    /**
     * 根据ID查询预约信息
     * @param id 预约ID
     * @return 预约实体
     */
    Reserve findById(Integer id);

    /**
     * 更新预约信息
     * @param reserve 预约实体
     */
    void edit(Reserve reserve);
    List<OrderTypeCountVO> getOrderTypeDistribution();
    List<OrderStatusCountVO> getOrderStatusDistribution();
}